package cn.wolfcode.trip.base.service;


import cn.wolfcode.trip.base.domain.Praise;
import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.TravelQueryObject;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;


public interface ITravelService {

    void saveOrUpdate(Travel user);

    PageInfo query(QueryObject qo);

    Object getByUserId(Long id);

    PageInfo queryForWait(TravelQueryObject qo);

    void changeState(Travel travel);

    Travel getContent(Long id);

    PageInfo queryForRelease(TravelQueryObject qo);

    PageInfo queryByStrategyId(TravelQueryObject qo);

    List<Travel> queryTravel(TravelQueryObject qo);

    void saveRelation(Long strategyId, Long travelId);

    void delete(Long strategyId, Long travelId);

    Boolean queryIsRelation(Long travelId, Integer state);

    void insertRelation(Praise obj);

    void deleteTravelRelation(Long travelId, Long userId, Integer state);

    Map<String,Object> queryNumsOfTravelContent(Integer state,Long travelId);

    List queryRows(Long authorId,Long userId, Integer state);


    Integer queryTravelContentNum(Long authorId);

    void updateBrowseNum(Long travelId);

}
